from selenium import webdriver
from time import sleep
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.by import By
'''
0.启动浏览器
1.登录后台
2.切换frame到左边菜单栏
3.选择添加商品
4.退出frame
5.切换到内容页frame
6.输入添加商品的内容
7.滑动窗口最底下进行提交
8.退出
前台地址：http://192.168.1.241/hdshop
后台地址：http://192.168.1.241/hdshop/admin/（admin/hdxy2018）
'''
# 0.启动浏览器
driver = webdriver.Chrome()
driver.get("http://192.168.1.241/hdshop/admin/")
driver.maximize_window()
# 1.登录后台
driver.find_element(By.NAME,"username").send_keys("admin")
driver.find_element(By.NAME,"password").send_keys("hdxy2018")
driver.find_element(By.CLASS_NAME,"btn-a").click()
sleep(2)
# 2.切换frame到左边菜单栏
driver.switch_to.frame("menu-frame")
# 3.选择添加商品
driver.find_element(By.XPATH,'//ul[@id="menu-ul"]/li[1]').click()
driver.find_element(By.LINK_TEXT,"添加新商品").click()
# 4.退出frame
driver.switch_to.default_content()
sleep(2)
# 5.切换到内容页frame
driver.switch_to.frame("main-frame")
# 6.添加
driver.find_element(By.XPATH,'//table[@id="general-table"]/tbody/tr[1]/td[2]/input[1]').send_keys("原价100的徐燃只要9.9了啊") #商品名称
# driver.find_element_by_xpath('//table[@id="general-table"]/tbody/tr[3]/td[2]/select/option[2]').click() #选择商品分类
option = driver.find_element(By.NAME,'cat_id')
# Select(option).select_by_index(2) # 通过索引进行选择,这种方法不稳定
Select(option).select_by_visible_text("钻石") # 通过可见文本进行选择
# Select(option).select_by_value("132") # 通过value进行选择,这种方法比较稳定
driver.find_element(By.NAME,"shop_price").send_keys("9.9") #设定价格
#--------------我是分割线-------------------------------------------
# js = "document.getElementById('selbtn1').removeAttribute('disabled')"
# driver.execute_script(js) #去除选择日期按钮的disabled
# driver.find_element_by_id('selbtn1').click()
# sleep(1)
# driver.find_element_by_xpath('/html/body/div[8]/table/thead/tr[2]/td[4]/div').click()
#--------------我是分割线-------------------------------------------
js = "document.getElementById('promote_start_date').removeAttribute('readonly')"
# js = 'document.getElementById("promote_start_date").readOnly=false'
driver.execute_script(js) #去除日期控件的只读
driver.find_element(By.ID,'promote_start_date').clear() #清除之前的数据
driver.find_element(By.ID,'promote_start_date').send_keys("2021-06-30") #重写数据
driver.find_element(By.NAME,'goods_img').send_keys(r'C:\Users\liuha\Pictures\Saved Pictures\xuran.png') #上传图片
# 7.滑动窗口最底下进行提交
xy = driver.find_element(By.TAG_NAME,'html').size  #获取窗口的宽高
xy = "window.scroll(0,{})".format(xy["height"]) #js语句设定,滑动窗口
driver.execute_script(xy) #执行js命令

driver.find_element(By.XPATH,'/html/body/div[1]/div[2]/form/div/input[2]').click() #提交
#退出frame
driver.switch_to.default_content()
sleep(5)
# 8.结束
driver.quit()

